package com.example.hello.mapper;

import com.example.hello.entity.Employee;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDate;
import java.util.List;

@Mapper
public interface EmployeeMapper {
    
    /**
     * 分页查询员工列表
     */
    List<Employee> selectEmployeeList(@Param("name") String name,
                                    @Param("gender") String gender,
                                    @Param("startDate") LocalDate startDate,
                                    @Param("endDate") LocalDate endDate,
                                    @Param("deptId") Integer deptId);
    
    /**
     * 根据ID查询员工
     */
    Employee selectById(Integer id);
    
    /**
     * 根据手机号查询员工
     */
    Employee selectByPhone(String phone);
    
    /**
     * 新增员工
     */
    int insert(Employee employee);
    
    /**
     * 更新员工信息
     */
    int update(Employee employee);
    
    /**
     * 删除员工
     */
    int deleteById(Integer id);
    
    /**
     * 根据用户名查询员工
     */
    Employee selectByUsername(String username);
    
    /**
     * 批量删除员工
     * @param ids 员工ID列表
     * @return 影响行数
     */
    int deleteByIds(@Param("ids") List<Integer> ids);
} 